<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <ol>
        <li>js中的对象分为三种：自定义对象，内置对象，浏览器对象.</li>
        <li>二.常见的内置对象：Math，Date，数组对象，字符串对象</li>
    </ol>

    <script>
        //1.对象
        //第一种创建对象方法：对象字面量
        var obj = {
            name: '张三',
            age: '19',
            sex: '男',
            sayHi: function () {
                console.log('hello world');
            }
        }
        //第二种创建对象方法：new object
        var obj1 = new Object();
        obj1.name = '李四';
        obj1.age = '19',
            obj1.sayHi = function () {
                console.log('hello world');
            }
        //第三种创建对象方法：构造函数
        function Gouzao(name, age, sex) {
            this.name = name,
                this.age = age,
                this.sex = sex
        }
        // 调用
        var ldh = new Gouzao('刘德华', 18, '男');
        console.log(ldh.name);
        console.log(ldh['age']);


        //第一种方法调用属性
        console.log(obj.name);
        console.log(obj1.name);
        //第二种方法调用
        console.log(obj['age']);
        console.log(obj1['age']);
        //调用对象中的方法
        obj.sayHi();

        // for in 遍历对象
        for (var k in obj) {
            console.log(k);  //得到属性名
            console.log(obj[k]);  //得到属性值
        }
        //2.数组
        //第一种创建数组方法：通过 new Array()
        var arr1 = new Array(2, 3, 5); //表示数组中的元素有2，3，5; 若括号内只有一个数字，则表示数组长度
        console.log(arr1);
        //第二种创建数组方法：数组字面量
        var arr = [1, 2, 3];
        console.log(arr);
    </script>
</body>

</html>